#include<bits/stdc++.h>
using namespace std;
const int NN=1e6+4;
int f[NN][2][3];
char s1[NN],s2[NN];
int main()
{
    freopen("hard.in","r",stdin);
    freopen("hard.out","w",stdout);
    int n;
    scanf("%d%s%s",&n,s1+1,s2+1);
    memset(f,0x3f,sizeof(f));
    f[0][0][0]=0;
    for(int i=1;i<=n;i++)
    {
        if(s1[i]==s2[i])
            for(int j=0;j<2;j++)
                for(int k=0;k<3;k++)
                    f[i][0][0]=min(f[i][0][0],f[i-1][j][k]);
        else
            for(int j=0;j<2;j++)
                for(int k=0;k<3;k++)
                    f[i][1][0]=min(f[i][1][0],f[i-1][j][k]+!j);
        if(s2[i]=='0')
            for(int j=0;j<2;j++)
                for(int k=0;k<3;k++)
                {
                    f[i][0][1]=min(f[i][0][1],f[i-1][j][k]+(k!=1));
                    f[i][1][2]=min(f[i][1][2],f[i-1][j][k]+!j+(k!=2));
                }
        else
            for(int j=0;j<2;j++)
                for(int k=0;k<3;k++)
                {
                    f[i][0][2]=min(f[i][0][2],f[i-1][j][k]+(k!=2));
                    f[i][1][1]=min(f[i][1][1],f[i-1][j][k]+!j+(k!=1));
                }
    }
    int ans=1e9;
    for(int i=0;i<2;i++)
        for(int j=0;j<3;j++)
            ans=min(ans,f[n][i][j]);
    printf("%d",ans);
    return 0;
}